<html>
    <head>
        <title>IAbpApplication接口</title>
    </head>
    <body>
        <script>
             // 五、IAbpApplication 接口
                                /*
                                    AbpApplicationFactory从其CreateAsync（或Create）方法返回一个IAbpApplication对象。
                                    IAbpApplication是ABP应用程序的主容器。它已经被注册到依赖注入系统，因此你可以在服务中注入IAbpApplication以使用其属性和方法。

                                    以下是你可能想知道的IAbpApplication属性列表：
                                            ①、StartupModuleType：获取创建应用程序容器时使用的应用程序的根模块（在AbpApplicationFactory.CreateAsync方法上）。
                                            ②、Services：所有服务注册的列表（IServiceCollection对象）。
                                                         应用程序初始化后，你不能向该集合添加新服务（你实际上可以添加，但不会有任何效果）。
                                            ③、ServiceProvider：对应用程序使用的根服务提供者的引用。（这在初始化应用程序之前不能使用）
                                                 如果你需要从那个IServiceProvider对象解析非单例服务，请始终创建一个新的服务范围，并在使用后将其处置。否则，你的应用程序将出现内存泄漏问题。有关服务范围的更多信息，请参阅依赖注入文档的释放/处置服务部分。
                                            ④、Modules：加载到当前应用程序中的所有模块的只读列表。
                                                        或者，如果你需要访问应用程序代码中的模块列表，你可以注入IModuleContainer服务。


                                           IAbpApplication接口扩展了IApplicationInfoAccessor接口，因此你可以从中获取ApplicationName和InstanceId值。
                                           但是，如果你只需要访问这些属性，请注入并使用IApplicationInfoAccessor服务。     

                                           IAbpApplication是一次性的。始终在退出应用程序之释放它。
                                */

        </script>
    </body>
</html>